#include <cstdlib>
#include <iostream>
#include "wumpus.h"

using namespace std;

int main(int argc, char *argv[])
{
    bool modoDePrueba=false, tieneFlecha=true, tieneTesoro=false;
    int filaRobot=0, columnaRobot=0;
    char opcion;
    char direccion = 'D';
    int resultado;
    int mundo[N][M];
    cout<<"Digite 1 para activar el modo de pruebas del juego, 2 para juego normal. \nEl modo de pruebas permite ver el mundo completo despues de cada turno"<<endl;
    cin>>opcion;
    cout<<endl;
    modoDePrueba=(opcion=='1');
    iniciarMundo(mundo);
    while(!(tieneTesoro && filaRobot==0 && columnaRobot==0)){
       system("cls");
       if (modoDePrueba){
          imprimirMundo(mundo,filaRobot,columnaRobot,direccion,tieneFlecha,tieneTesoro);
       }
       cout<<"El resultado de las sensaciones es: "<<sensaciones(mundo,filaRobot,columnaRobot)<<endl;
       opcion=imprimirMenu(tieneFlecha);
       if (opcion=='M' || opcion=='F' || opcion=='X'){
          if (opcion=='M'){
              resultado=mover(mundo,filaRobot,columnaRobot,direccion);
              if (resultado==-1){
                 cout<<"El robot choco contra una pared."<<endl;
                 system("PAUSE");
              }
              if (resultado==1){
                 cout<<"El robot ha sido destruido."<<endl;
                 break;
              }
              if (resultado==0){
                 if (calcularNuevaPosicion(mundo,filaRobot,columnaRobot,direccion) && !tieneTesoro){
                     cout<<"El robot encontro el tesoro!!"<<endl;
                     tieneTesoro=true;
                     system("PAUSE");                   
                 }
              }
          }
          if (opcion=='F'){
             tieneFlecha=false;
             if (disparar(mundo,filaRobot,columnaRobot,direccion)){
                cout<<"Se escucha un rugido agonico... el Wumpus ha muerto!!"<<endl;
             }
             else{
                cout<<"Ooopppsss... la flecha se clavo contra el muro!!"<<endl;
             }
             system("PAUSE");
          }
          if (opcion=='X'){
             cout<<"Gracias por jugar!"<<endl;
             break;
          }
       }
       else{
           direccion=opcion;
       }
    }
    if (tieneTesoro && filaRobot==0 && columnaRobot==0){
       cout<<"Felicitaciones! ha conseguido el tesoro y salido de la mazmorra del Wumpus."<<endl;
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}
